package h0831;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @author 不知名帅哥
 * @version 1.0
 * @description 最长回文串
 * @date 2024/8/31 22:28
 */
public class LongestPalindrome {
    public static void main(String[] args) {
        String s = "aaa";
        System.out.println(longestPalindrome(s));
    }

    public static int longestPalindrome(String s) {
        HashMap<Character, Integer> map = new HashMap<>();

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            map.put(c, map.getOrDefault(c, 0) + 1);
        }
        int ans=0;
        List<Integer> list=new ArrayList<>(map.values());
//        if (list.size()==1){
//            return list.size();
//        }
        boolean hasodd=false;
        for (Integer value :list) {
            if (value%2==0){
                ans+=value;
            }else {
                //如果是奇数，ans+=value-1;同时可以把这一个奇数放在中心
                ans+=value-1;
                hasodd=true;
            }
        }
        if (hasodd){
            ans+=1;
        }
        return ans;
    }
}
